#pragma once

#include "../ExecuteArgument.h"
#include "document/Types.h"
#include <vgraph>

struct SplineItemArgument : public ExecuteArgument
{
	virtual ~SplineItemArgument(){}
	SplineItemArgument(const Points& points,regionCategory category)
	{
		this->points = points;
		this->category = category;
	}

	SplineItemArgument(const Point& begin,const Point& end,regionCategory category)
	{
		points.push_back(begin);
		points.push_back(end);
		this->category = category;
	}

	const Point& BeginPoint() const 
	{
		ASSERT(points.size() >= 2);
		return points[0];
	}

	const Point& EndPoint() const 
	{
		ASSERT(points.size() >= 2);
		return points[points.size()-1];
	}

	Points points;
	regionCategory category;
};